Nomadic Threads: a migrating multithreaded approach to remote memory accesses in multiprocessors
نویسندگان
چکیده
This paper describes an abstract multithreaded architecture for distributed memory multicomputers that significantly reduces the number of message transfers when compared to conventional “remote memory access” approaches. Instead of statically executing on its assigned processor and fetching data from remote storage, a Nomadic Thread transfers itself to the processor which contains the data it needs. This enables Nomadic Threads to take advantage of spatial locality found in the usage of many data structures, because the migration of a thread to a node makes access to surrounding data local. By reducing the number of messages and taking advantage of locality, the Nomadic Threads approach allows programs to use fewer data transfers than conventional approaches while providing a simple runtime interface to compilers. The Nomadic Threads runtime system is currently implemented for the Thinking Machines Corp. Connection Machine 5 (CM5), but is portable to other distributed memory systems, including networks of workstations.
منابع مشابه
A Multithreaded Runtime System With Thread Migration for Distributed Memory Parallel Computing
Multithreading is very effective at tolerating the latency of remote memory accesses in distributed memory parallel computers, but does nothing to reduce the number or cost of those memory accesses. Compiler techniques and runtime approaches, such as caching remote memory accesses and prefetching, are often used to reduce the number of remote memory accesses. Another approach to reduce the numb...
متن کاملNomadic Threads: A Runtime Approach for Managing Remote Memory Accesses in Multiprocessors
This paper describes a multithreaded runtime system for distributed memory multicomputers that significantly reduces the number of message transfers when compared to conventional " remote memory access " approaches. Instead of statically executing on its assigned processor and fetching data from remote storage, a Nomadic Thread transfers itself to the processor which contains the data it needs....
متن کاملComparison of two storage models in data-driven multithreaded architectures
Multithreaded execution models attempt to combine some aspects of data ow-like execution with von Neumann model execution, with the objective of masking the latency of inter-processor communications and remote memory accesses in multiprocessors. An important issue in the analysis and evaluation of multithreaded execution is the design and performance of the storage hierarchy. Because of the seq...
متن کاملMultithreading and Thread Migration Using Mpi and Myrinet
The balance between CPU speed and interconnection network throughput in distributed memory parallel computers varies with each generation of systems, but the trend is that CPUs are gaining performance faster than the interconnection networks. This means that remote data accesses are becoming more expensive relative to local accesses in terms of CPU cycles. Therefore, remote memory access mechan...
متن کاملAn Evaluation of Thread Migration for Exploiting Distributed Array Locality
Thread migration is one approach to remote memory accesses on distributed memory parallel computers. In thread migration, threads of control migrate between processors to access data local to those processors, while conventional approaches tend to move data to the threads that need them. Migration approaches enhance spatial locality by making large address spaces local, but are less adept at ex...
متن کامل